import 'package:agro_sklad_new/feature/domain/entities/material_entity.dart';
import 'package:equatable/equatable.dart';

class FactEntity extends Equatable{
  int? id;
  int? remoteId;
  String? date;
  String? datetime;
  bool? visible;
  String? status;
  bool? dirty;
  String? vehicleId;
  String? vehicleName;
  String? driverId;
  String? driverName;
  String? equipmentId;
  String? equipmentName;
  String? worktypeId;
  String? worktypeName;
  String? start;
  num? startLat;
  num? startLon;
  String? end;
  num? endLat;
  num? endLon;
  List<Map<String, Object?>>? fields;
  List<MaterialEntity>? materials;
  String? comment;
  String? ttn;
  String? carrierDraverId;
  String? carrierVehicleId;
  String? carrierTrailerId;
  String? carrierTrailerName;
  String? carrierVehicleName;
  String? carrierDriverName;
  String? signature;

  FactEntity({
    this.id,
    this.remoteId,
    this.date,
    this.datetime,
    this.visible,
    this.status,
    this.dirty,
    this.vehicleId,
    this.vehicleName,
    this.driverId,
    this.driverName,
    this.equipmentId,
    this.equipmentName,
    this.worktypeId,
    this.worktypeName,
    this.start,
    this.startLat,
    this.startLon,
    this.end,
    this.endLat,
    this.endLon,
    this.fields,
    this.materials,
    this.comment,
    this.ttn,
    this.carrierDraverId,
    this.carrierTrailerId,
    this.carrierVehicleId,
    this.carrierDriverName,
    this.carrierTrailerName,
    this.carrierVehicleName,
    this.signature
  });

  @override
  // TODO: implement props
  List<Object?> get props => [
    id,
    remoteId,
    date,
    datetime,
    visible,
    status,
    dirty,
    vehicleId,
    vehicleName,
    driverId,
    driverName,
    equipmentId,
    equipmentName,
    worktypeId,
    worktypeName,
    start,
    startLat,
    startLon,
    end,
    endLat,
    endLon,
    fields,
    materials,
    comment,
    ttn,
    carrierDraverId,
    carrierTrailerId,
    carrierVehicleId,
    carrierDriverName,
    carrierTrailerName,
    carrierVehicleName,
    signature
  ];

  @override
  bool get stringify => true;
}